From b8371a1d61f127ef186d90990040956235f82bec Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 10 Jan 2017 15:59:26 +0100 Subject: [PATCH] shortcutswindow: Make dispose work properly --- gtk/gtkshortcutswindow.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gtk/gtkshortcutswindow.c b/gtk/gtkshortcutswindow.c index dbe6419165..86d9532773 100644 --- a/gtk/gtkshortcutswindow.c +++ b/gtk/gtkshortcutswindow.c @@ -654,26 +654,26 @@ gtk_shortcuts_window_dispose (GObject *object) GtkShortcutsWindow *self = (GtkShortcutsWindow *)object; GtkShortcutsWindowPrivate *priv = gtk_shortcuts_window_get_instance_private (self); - g_signal_handlers_disconnect_by_func (priv->stack, G_CALLBACK (update_title_stack), self); + if (priv->stack) + g_signal_handlers_disconnect_by_func (priv->stack, G_CALLBACK (update_title_stack), self); gtk_shortcuts_window_set_window (self, NULL); if (priv->header_bar) { - gtk_widget_destroy (GTK_WIDGET (priv->header_bar)); + gtk_container_remove (GTK_CONTAINER (self), GTK_WIDGET (priv->header_bar)); priv->header_bar = NULL; priv->popover = NULL; } - G_OBJECT_CLASS (gtk_shortcuts_window_parent_class)->dispose (object); - -#if 0 if (priv->main_box) { - gtk_widget_destroy (GTK_WIDGET (priv->main_box)); + gtk_container_remove (GTK_CONTAINER (self), GTK_WIDGET (priv->main_box)); priv->main_box = NULL; + priv->stack = NULL; } -#endif + + G_OBJECT_CLASS (gtk_shortcuts_window_parent_class)->dispose (object); } static void -- 2.30.2